﻿using ProduceBasicData.Domain.Entities;
using ProduceBasicData.Domain.WarehouseManage.WarehouseEnum;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ProduceBasicData.Domain.WarehouseManage
{

    /// <summary>
    /// 入库单表
    /// </summary>
    public class StockInOrder:BaseModel
    {
        /// <summary>
        /// 系统编码
        /// </summary>
        public string? OrderNumber { get; set; }

        /// <summary>
        /// 入库类型
        /// </summary>
        public StockInType InType { get; set; }

        /// <summary>
        /// 关联单号 (如采购单号、生产单号等)
        /// </summary>
        public string? RelatedOrderNumber { get; set; }

        /// <summary>
        /// 目标仓库ID
        /// </summary>
        public int WarehouseId { get; set; }

        /// <summary>
        /// 供应商ID
        /// </summary>
        public int? SupplierId { get; set; }

        /// <summary>
        /// 供应商名称
        /// </summary>
        public string? SupplierName { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public StockInStatus Status { get; set; } = StockInStatus.Pending;

        /// <summary>
        /// 预计入库日期
        /// </summary>
        public DateTime? ExpectedInDate { get; set; }

        /// <summary>
        /// 实际入库日期
        /// </summary>
        public DateTime? ActualInDate { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        public string? Remark { get; set; }
    }
}
